Deening and Measuring Maintainability
نویسندگان
چکیده
Maintainability is a measure of the ease with which a software system can be maintained. In this paper we propose a quantitative deenition of maintainability, and discuss means to estimate the maintainability of a software system on the basis of a static analysis of its deliverables. Such an estimation eeort is useful inasmuchas it allows us to predict the maintainability of a software system at delivery time. All the quantitative studies that have been carried out in the past two decades indicate that maintenance has a staggering nancial impact on the software industry, and that it is a drain on human resources. Typical studies provide that on average a software organization spends sixty percent (60 %) of its man-month resources on software maintenance, and forty percent (40 %) on the development of new applications. Because of the increasing reliance on software in various application domains, new applications are being put into operation at a faster rate than older applications are phased out; as a result, the relative impact of maintenance is expected to increase in the future {although at a more moderate rate than was initially feared. This state of aaairs, as well as this trend, are clearly cause for concern. The key to dealing with this concern is to identify the factors that aaect the costs of maintenance, quantify them, and endeavor to control them in the framework of software maintenance management. In keeping with this premise, the Canadian Space Agency is sponsoring a research project at the University of Ottawa 10, 11, 12, 13], with the objective of deening a measure of maintainability and investigating means to evaluate it. The Canadian Space Agency participates in the Space Station program by providing the Mobile Servicing System; part of this system is the Manipulator Development Simulation Facility, which the agency is contracting out to private software rms. The intent of the agency is to impose maintainability requirements on future deliveries of software that is contracted out. To do so, the agency must provide a deenition of maintainability (as part of the requirements speciication), as well as means to estimate the maintainability of a software deliverable at delivery time (as part of acceptance testing). In the next section we analyse the costs of software maintenance, identify the major controllable cost factors, and discuss how these can be controlled in the case of the MDSF project within CSA. In section 3 we …
منابع مشابه
A Quantitative Evaluation of Maintainability of Software Architecture Styles
Proper decisions play a crucial role in any software architecture design process. An important decision of design stage is the selection of a suitable software architecture style. Lack of investigation on the quantitative impact of architecture styles on software quality attributes is the main problem in using such styles. Consequently, the use of architecture styles in designing is based on th...
متن کاملExperience Measuring Maintainability in Software Product Lines
Families of applications are steadily emerging for distinct settings such as embedded systems, navigational systems, financial applications or even web applications. This moves the attention from single application development to Software Product Line (SPL) development where the focus is on constructing reusable artefacts of the assembly line from which final products are obtained. This paper p...
متن کاملTowards Evaluating Maintainability Within Model-Driven Environments
Model Driven Software Development (MDSD) has matured over the last few years and is now becoming an established technology. One advantage that is promoted by the MDSD community is the improved maintainability during the systems evolution over conventional development approaches. Compared to code-based development (meta-)models and transformations need to be handled differently when it comes to ...
متن کاملA Drill-Down Approach for Measuring Maintainability at Source Code Element Level
Measuring source code maintainability has always been a challenge for software engineers. To address this problem, a number of metrics-based quality models have been proposed by researchers. Besides expressing source code maintainability in terms of numerical values, these models are also expected to provide explicable results, i.e. to give a detailed list of source code fragments that should b...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995